package com.lik888.web1.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.util.Objects;

import com.lik888.web1.entity.nums.Status;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author author
 * @since 2025-11-05
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("Goods_Table")
@ApiModel(value="GoodsTable对象", description="")
public class GoodsTable implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "商品ID")
    @TableId(value = "goods_id", type = IdType.AUTO)
    private Long goodsId;

    @ApiModelProperty(value = "用户ID")
    private Long userId;

    @ApiModelProperty(value = "图片ID")
    private Integer goodsImgid;

    @ApiModelProperty(value = "商品类型")
    private String goodsType;

    @ApiModelProperty(value = "商品首页图片")
    private String goodsTitlephoto;

    @ApiModelProperty(value = "商品折扣价")
    private Long goodsSale;

    @ApiModelProperty(value = "商品价格")
    private Long goodsPrice;

    @ApiModelProperty(value = "商品描述")
    private String goodsInfo;

    @ApiModelProperty(value = "商品区服")
    private String goodsRegion;

    @ApiModelProperty(value = "商品更新时间")
    private LocalDateTime goodsUpdatetime;

    @ApiModelProperty(value = "商品建立时间")
    private LocalDateTime goodsCreatetime;

    @ApiModelProperty(value = "商品浏览量")
    private Integer goodsLook;

    @ApiModelProperty(value = "商品想要量")
    private Integer goodsWant;

    @ApiModelProperty(value = "商品状态")
    private Status goodsStatus;

    @ApiModelProperty(value = "商品名称")
    private String goodsName;
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        GoodsTable that = (GoodsTable) o;
        return Objects.equals(goodsId, that.goodsId);
    }

    @Override
    public int hashCode() {
        return Objects.hashCode(goodsId);
    }
}
